﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DBUtils;

public partial class Attendance_DefaultShow : System.Web.UI.Page
{
    DataSet dsResult;
    /// <summary>
    /// 网页初始化时执行该方法。设置控件属性和“开始时间”和“结束时间”文本框的初始内容
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        txtStartTime.Text = "2000-01-01";
        txtEndTime.Text = "2010-01-01";
        if (IsPostBack)
        {
            btnSearch_Click(sender, e);
        }
    }

    /// <summary>
    /// 当用户单击“显示结果”按钮时，根据员工编号信息检索该时间段的考勤信息并显示。
    /// 该过程调用 Attendance.QueryIndividual(iEmpID, txtStartTime.Text.Trim, txtEndTime.Text.Trim, dsResult) 函数，
    /// 在数据库中检索该员工该段时间内的考勤信息。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        if (Attendance.QueryIndividual(Convert.ToInt32(Session["EmployeeID"]), txtStartTime.Text.Trim(), txtEndTime.Text.Trim(),ref dsResult) == 1)
        {
            grdResult.DataSource = dsResult.Tables[0];
            grdResult.DataBind();
            grdResult.Visible = true;
        }
    }

    /// <summary>
    /// 当用户选中 DataGrid 中的某条记录时，该方法显示“请求人事复查”按钮。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void grdResult_SelectedIndexChanged(object sender, EventArgs e)
    {
        btnAskReview.Visible = true;
    }

    /// <summary>
    /// 当用户单击“请求人事复查”按钮时，执行该方法。
    /// 在数据库中登记该请求操作，并显示相应提示信息。
    /// 该过程调用 Attendance.AskReview(iAttendID) 函数，在数据库中登记该请求操作。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnAskReview_Click(object sender, EventArgs e)
    {
        if (Attendance.AskReview(Convert.ToInt32(dsResult.Tables[0].Rows[grdResult.SelectedIndex][0])) == 1)
        {
            this.Response.Write("<script>alert('" + "请求成功" + "');</script>");//弹出信息
        }
        else
        {
            this.Response.Write("<script>alert('" + "请求失败" + "');</script>");//弹出失败信息
        }
    }
}
